package com.yuyou.fn.arrangement.service;

import com.github.wens.mybatisplus.plugins.Page;
import com.yuyou.fn.educational.entity.Room;
import com.yuyou.fn.educational.vo.ArrangeClassTimeResultVo;
import com.yuyou.fn.platform.entity.SysUser;

import java.util.Date;
import java.util.List;

/**
 * Created by Administrator on 2017/9/30.
 */
public interface IArrangementService {
    void saveOrUpdateArrangementRoom(Long classId, Long roomId,SysUser sysUser);
    Page<Room> findRoomByBuyOrCreate(Long classId, SysUser sysUser, Long campusId, String roomName, int pageNo, int pageSize);

    void changeStatus(List<Long> classIds, Integer status);

    List<Long> findCanUseRoomIds(Long checkRoomId,Long classId, SysUser sysUser, Long campusId, String roomName);

    void createLease(Long classId, Long roomId,SysUser sysUser);

    void confirmRearrange(Long classId,Integer which);

    void rearrangeTimeForLecture(Long classLectureId, String date, String time, boolean updateAfterLecture,SysUser sysUser);

    void batchAdjustLectures(List<Long> classLectureIds, Date date, boolean updateAfterLecture ,SysUser sysUser);

    void batchAdjustLectureTimes(List<Long> classLectureIds, String time ,SysUser sysUser);

    void saveClassChange(Long classId, String className, String studyingTime, Long teacherId,SysUser sysUser);

    void saveArrangeClassTimeResult(Long classId , List<ArrangeClassTimeResultVo> arrangeClassTimeResultList,SysUser sysUser);

    void saveArrangementTeacher(Long classId, List<Long> teacherIds);

    /*释放老师*/
    void releaseTeacher(Long classId);

    /*释放教室*/
    void releaseRoom(Long classId);
}
